Waveform analyzers are devices that measure data signals in order to extract information. For example, a transmitting device may be coupled to a receiving device via a communication medium. In order to better understand the signal observed by the receiving device, a waveform analyzer may be coupled to the medium in place of the receiving device. The waveform analyzer may then be used to measure the data signal, in order to gather information. Examples of information determined by the wavefrom analyzer include statistical information regarding timing jitter and amplitude noise of the received data signal, bit error rate of the received data signal, and so on.
Traditionally, to expand the capabilities of waveform analyzers, new waveform analyzers are designed including general-purpose hardware that expensively and inefficiently addresses the problem of bit-error analysis. For example, a waveform analyzer may be used to record an infrequent bit error (or characteristic related to an error), so that the error or characteristic can be analyzed. Traditionally, this has been accomplished by instructing a transmitter to send data through a transmission medium, and by arranging a waveform analyzer on the other end of the medium. The waveform analyzer is programmed to oversample every bit it receives to obtain a long, highly resolved v(t) record that hopefully contains the bit error or characteristic. After the capacity of the waveform analyzer to store data is exhausted (i.e., the memory is “full”), the memory is examined to determine if the stored v(t) record exhibits the sought-after error or characteristic. If the error or characteristic occurs infrequently, it is quite likely that v(t) record does not exhibit the sought-after error or characteristic. This means that the procedure must be repeated until the v(t) record exhibits the sought-after error, or characteristic. Traditionally, this state of affairs has been improved by adding additional memory to the waveform analyzer. This method of addressing the aforementioned problem is costly, and does not directly address the principle of the problem.
The above-described scenario illustrates a broader point, namely, that there is a need for waveform analyzers to be improved according to a scheme that values efficiency. Such a scheme addresses three central issues: (1) how measurements are taken; (2) when measurements are taken; and (3) how information is extracted from the measurements. Each of these issues interrelate with one another. For example, how information is extracted from measurements is a function of, in part, when the measurements were taken. As more sophisticated methods of extracting information from measurements are developed, it may be possible to take fewer measurements without loss of information. A design that addresses these issues jointly may arrive at a cost-efficient solution to many forms of problems.
As alluded to above, there exists a need for a waveform analyzer that addresses performance and capability issues by examining those issues from the point of view of (1) how measurements are taken, (2) when measurements are taken, and (3) how information is extracted from those measurements. After consideration of performance and capability issues from those points of view, design choices may be made to address performance and capability issues in the least expensive manner.